/*
 ============================================================================
 文件名 	: CStockMonitor.h
 描述		: 从文件里读取信息.
 ============================================================================
 */
#ifndef CDATAREADER_H_
#define CDATAREADER_H_

#include <e32base.h>
#include <e32std.h>
#include <e32cons.h>

//常量定义
const TInt KMaxLength = 32;
const TInt KMaxIncrease = 10;
const TInt KMaxDecrease = 8;

_LIT(KConsoleTitle, "Console");

enum
	{
	ENormal = 0,
	EUpLimit,
	EDownLimit
	};

//类声明
class CStockMonitor : public CActive
	{
public:
	
	/**
	 * ~CStockMonitor
	 * 虚析构函数
	 */
	~CStockMonitor();
	
	/**
	 * 两阶段构造函数.
	 */
	static CStockMonitor* NewLC();
	
	/**
	 * 两阶段构造函数.
	 */
	static CStockMonitor* NewL();

protected:
	
	/**
	 * CStockMonitor.
	 * C++默认构造函数.
	 */
	CStockMonitor();
	
	/**
	 * 两阶段构造函数.
	 */
	void ConstructL();
	
protected:
	
	/**
	 * 活动对象的RunL()方法在异步事件完成后会被调用.
	 */
	void RunL();
	
	/**
	 * 用来取消异步操作.
	 */	
	void DoCancel();
	
	/**
	 * RunL()中发生Leave时，RunError()会被调用.
	 */
	TInt RunError();

public:
	
	/**
	 * 用来进行自完成的“异步服务”函数.
	 */
	void Continue();
	
private:
	
	TInt iState;
	TInt iOriginalPrice;
	TInt iCurrentPrice;
	TKeyCode iInputKeyCode;
	
	CConsoleBase* iConsole;
	};
#endif /* CDATAREADER_H_ */

//	TBuf16<KMaxLength> *iRankData;
